package com.colin.videoservice.mapper;


import com.colin.bean.Video;
import com.colin.bean.VideoCollect;
import com.colin.bean.VideoLike;

import java.time.LocalDateTime;
import java.util.List;

public interface VideoMapper {
    Video selectById(Long videoId);

    Boolean deleteById(Long videoId);

    void addLikeCount(String videoId);

    Boolean likeVideo(String videoId, String loginId, LocalDateTime date);

    Boolean collectVideo(String videoId, String loginId, LocalDateTime date);

    void addCollectCount(String videoId);

    Integer checkPublish(String loginId, Long videoId);

    Integer isExistVideo(String videoId);

    List<Video> searchVideoByKeyword(String keyword);

    Boolean deleteLikeVideo(String videoId, String loginId);

    List<Video> getLikeVideo(String loginId);

    List<Video> getCollectVideo(String loginId);

    Boolean deleteCollectVideo(String videoId, String loginId);

    Boolean checkLikeVideo(String loginId, String videoId);

    Boolean updateLikeVideo(String videoId, String loginId, LocalDateTime now);

    Boolean checkCollectVideo(String loginId, String videoId);

    Boolean updateCollectVideo(String videoId, String loginId, LocalDateTime now);

    void decreaseLikeCount(String videoId);

    void decreaseCollectCount(String videoId);

    Boolean insertVideo(Video video);

    Boolean initVideo(String loginId, long videoId);

    Boolean updateVideoUrl(String videoUrl, String loginId);

    Boolean updateCoverUrl(String coverUrl, String loginId);

    Boolean uploadVideoDetail(Video videoDetail);


    Boolean isExistVideoInit(String loginId);

    void deleteVideoDraft(Long videoId);

    VideoLike getLikeStatus(String videoId, String loginId);

    VideoCollect getCollectStatus(String videoId, String loginId);
}
